#ifndef QFLOWCHARTSTYLE_H
#define QFLOWCHARTSTYLE_H

#include <QtGui>

#include "FlowChart_Global.h"

namespace CVV
{

namespace FlowChart
{

class CVV_FLOWCHART_EXPORT QFlowChartStyle
{
  private:
    QColor fNormalBackground;
    QColor fNormalForeground;
    QColor fSelectedBackground;
    QColor fSelectedForeground;
    double fLineWidth;
    QColor fNormalMarker;
    QColor fSelectedMarker;
    double fFontSize;

  public:
    QFlowChartStyle();
    ~QFlowChartStyle() {}

    QColor normalBackground() const { return fNormalBackground; }
    QColor normalForeground() const { return fNormalForeground; }
    QColor selectedBackground() const { return fSelectedBackground; }
    QColor selectedForeground() const { return fSelectedForeground; }
    double lineWidth() const { return fLineWidth; }
    QColor normalMarker() const { return fNormalMarker; }
    QColor selectedMarker() const { return fSelectedMarker; }
    double fontSize() const { return fFontSize; }

    void setNormalBackground(const QColor & aValue) { fNormalBackground = aValue; }
    void setNormalForeground(const QColor & aValue) { fNormalForeground = aValue; }
    void setSelectedBackground(const QColor & aValue) { fSelectedBackground = aValue; }
    void setSelectedForeground(const QColor & aValue) { fSelectedForeground = aValue; }
    void setLineWidth(const double aValue) { fLineWidth = aValue; }
    void setNormalMarker(const QColor & aValue) { fNormalMarker = aValue; }
    void setSelectedMarker(const QColor & aValue) { fSelectedMarker = aValue; }
    void setFontSize(const double aValue) { fFontSize = aValue; }
};

}

}
Q_DECLARE_TYPEINFO(CVV::FlowChart::QFlowChartStyle, Q_MOVABLE_TYPE);

#endif // QFLOWCHARTSTYLE_H
